package com.tuniu.agents.common;

public class TraceLogVo {
    private Long id;
    private String traceId;
    private String userId;
    private String conversationId;
    private String requestId;
    private Integer token;
    private String type;
    private String agentId;
    private String tool;
    private String spanId;
    private String parentId;
    private String content;
    private String toolContext;
    private String operationType;

    private TraceLogVo(Builder builder) {
        this.id = builder.id;
        this.traceId = builder.traceId;
        this.userId = builder.userId;
        this.conversationId = builder.conversationId;
        this.requestId = builder.requestId;
        this.token = builder.token;
        this.type = builder.type;
        this.agentId = builder.agentId;
        this.tool = builder.tool;
        this.spanId = builder.spanId;
        this.parentId = builder.parentId;
        this.content = builder.content;
        this.toolContext = builder.toolContext;
        this.operationType = builder.operationType;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getTraceId() {
        return traceId;
    }

    public void setTraceId(String traceId) {
        this.traceId = traceId;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getConversationId() {
        return conversationId;
    }

    public void setConversationId(String conversationId) {
        this.conversationId = conversationId;
    }

    public String getAgentId() {
        return agentId;
    }

    public void setAgentId(String agentId) {
        this.agentId = agentId;
    }

    public String getTool() {
        return tool;
    }

    public void setTool(String tool) {
        this.tool = tool;
    }

    public String getSpanId() {
        return spanId;
    }

    public void setSpanId(String spanId) {
        this.spanId = spanId;
    }

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getToolContext() {
        return toolContext;
    }

    public void setToolContext(String toolContext) {
        this.toolContext = toolContext;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getRequestId() {
        return requestId;
    }

    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }

    public Integer getToken() {
        return token;
    }

    public void setToken(Integer token) {
        this.token = token;
    }

    public String getOperationType() {
        return operationType;
    }

    public void setOperationType(String operationType) {
        this.operationType = operationType;
    }

    public static class Builder {
        private Long id;
        private String traceId;
        private String userId;
        private String conversationId;
        private String requestId;
        private Integer token;
        private String type;
        private String agentId;
        private String tool;
        private String spanId;
        private String parentId;
        private String content;
        private String toolContext;
        private String operationType;

        public Builder id(Long id) {
            this.id = id;
            return this;
        }

        public Builder traceId(String traceId) {
            this.traceId = traceId;
            return this;
        }

        public Builder userId(String userId) {
            this.userId = userId;
            return this;
        }

        public Builder conversationId(String conversationId) {
            this.conversationId = conversationId;
            return this;
        }

        public Builder requestId(String requestId) {
            this.requestId = requestId;
            return this;
        }

        public Builder token(Integer token) {
            this.token = token;
            return this;
        }

        public Builder type(String type) {
            this.type = type;
            return this;
        }

        public Builder agentId(String agentId) {
            this.agentId = agentId;
            return this;
        }

        public Builder tool(String tool) {
            this.tool = tool;
            return this;
        }

        public Builder spanId(String spanId) {
            this.spanId = spanId;
            return this;
        }

        public Builder parentId(String parentId) {
            this.parentId = parentId;
            return this;
        }

        public Builder content(String content) {
            this.content = content;
            return this;
        }

        public Builder toolContext(String toolContext) {
            this.toolContext = toolContext;
            return this;
        }

        public Builder operationType(String operationType) {
            this.operationType = operationType;
            return this;
        }

        public TraceLogVo build() {
            return new TraceLogVo(this);
        }
    }
}
